home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #5 / Amiga Plus CD - 2000 - No. 5.iso / Tools / Misc / InstallerNG / Install < prev    next >
Text File  |  2000-01-01  |  12KB  |  310 lines

  1.  
  2. /*********************************************************************************************
  3.  *
  4.  * installation script for the InstallerNG $VER: InstallerNG-Script 1.2 (08.10.99)
  5.  *
  6.  * note, that this script makes use of seveal new features of the InstallerNG
  7.  * like multilined comments and enhanced pattern-match functionality of the DATABASE
  8.  * function
  9.  *
  10.  *********************************************************************************************/
  11.  
  12. ; -----------------------------------------------------------------------------
  13. ; some default settings and clean the system
  14.  
  15. (set @app-name     "Installer NG"
  16.      @default-dest "C:"
  17. )
  18.  
  19. ; -----------------------------------------------------------------------------
  20. ; initialize the sound
  21.  
  22. ;; (effect "lower_center" "horizontal" $000000 $33FF33)
  23.  
  24. (showmedia "#yeah" "media/yeah" "upper_left" "none" 0)
  25. ;; (showmedia "#logo" "media/logo" "upper_left" "none" 1)
  26.  
  27. ; -----------------------------------------------------------------------------
  28. ; localized strings; by default, everything is english, but if possible,
  29. ; overwrite the english strings by user-preferred ones
  30.  
  31. (set #msg_welcome (cat "Welcome to the Installation of the InstallerNG\n\n"
  32.                        "The InstallerNG wants to be a substitution of\n"
  33.                        "the original Installer by C=\n"
  34.                        "It offers many new features, looks much better and is\n"
  35.                        "smaller than the C= Installer"
  36.                        "\n\n\n\n.oO please turn on the Amiga sound Oo."
  37.                   )
  38. )
  39. (set #msg_askfile_prompt "Where is the default Installer located?")
  40. (set #msg_askfile_help (cat "Please select the original Installer by C=. "
  41.                             "This script will make a backup copy of the "
  42.                             "Installer and then, it will replace the "
  43.                             "original by the new InstallerNG."
  44.                        )
  45. )
  46. (set #msg_copylib_prompt "Now copying the InstallerNG to \"%s\"")
  47. (set #msg_copylib_help "...")
  48.  
  49. (set #msg_catalog_prompt "Which catalog-file do you want to install?")
  50. (set #msg_catalog_help "...")
  51.  
  52. (set #msg_done (cat "Done!\n"
  53.                     "The InstallerNG replaced the original Installer\n"
  54.                     "and made a copy of the old one in \"%s\".\n\n"
  55.                     "Have fun with the new Installer and its features"
  56.                )
  57. )
  58.  
  59. (set #msg_rename_prompt "Now renaming the C= installer")
  60. (set #msg_rename_help "...")
  61.  
  62. (set #msg_copytools_prompt "Which additional tools you want to install? (see Help)")
  63. (set #msg_copytools_help (cat "CloseScreenPatch\nA patch, which avoids screen closing, while a window "
  64.                               "is still open on that screen and helps you to save memory. Just add "
  65.                               "'run <>nil: c:closescreenpatch' to the end of your 's:user-startup' file"
  66.                               "\n\nGetSum\n"
  67.                               "Calculates the checksum of any file, like the Installer does. "
  68.                               "Usage: type 'getsum <file>' in your shell"
  69.                          )
  70. )
  71.  
  72. (set #msg_tooltypes_prompt "Which Tooltypes you want to preset?")
  73. (set #msg_tooltypes_help "...")
  74.  
  75. (set #msg_askchoice_prompt "Which GUI do you want to use?")
  76. (set #msg_askchoice_help "...")
  77.  
  78. (set #message_letsgo "Installation prepared. Ready to proceed?")
  79.  
  80. (set #working_text "Now starting to install the new InstallerNG by Jens Tröger")
  81.  
  82. ; -----------------------------------------------------------------------------
  83. ; if we should switch to german, then here we go
  84.  
  85. (if (= @language "deutsch")
  86.  
  87.     (
  88.       (set #msg_welcome (cat "Willkommen zur Installation des InstallerNG\n\n"
  89.                              "Der InstallerNG soll ein Ersatz für den\n"
  90.                              "originalen Installer von C= sein\n"
  91.                              "Er bietet viele neue Eigenschaften, sieht viel besser aus\n"
  92.                              "und ist kleiner als der C= Installer"
  93.                              "\n\n\n\n.oO Bitte den Amiga-Ton anschalten Oo."
  94.                         )
  95.       )
  96.  
  97.       (set #msg_askfile_prompt "Wo befindet sich der Installer?")
  98.       (set #msg_askfile_help (cat "Bitte wählen Sie den originalen Installer von C=. "
  99.                                   "Dieses Skript macht eine Kopie des originalen "
  100.                                   "Installers und wird danach den originalen durch "
  101.                                   "den neuen InstallerNG ersetzen."
  102.                              )
  103.       )
  104.  
  105.       (set #msg_copylib_prompt "Kopiere jetzt den InstallerNG nach \"%s\"")
  106.       (set #msg_copylib_help "...")
  107.  
  108.       (set #msg_catalog_prompt "Zu welcher Sprache möchten Sie einen Katalog installieren?")
  109.       (set #msg_catalog_help (cat "Wählen Sie hier aus, welche Katalog Datei Sie installieren möchten. "
  110.                                   "Sinnigerweise sollten Sie 'deutsch' wählen."
  111.                              )
  112.       )
  113.  
  114.       (set #msg_done (cat "Fertig!\n"
  115.                           "Der InstallerNG hat Ihren originalen Installer\n"
  116.                           "ersetzt und eine Kopie des alten als \"%s\" erzeugt.\n\n"
  117.                           "Viel Spaß mit dem neuen Installer und seinen Möglichkeiten"
  118.                      )
  119.       )
  120.  
  121.       (set #msg_rename_prompt "Benenne nun den C= Installer um")
  122.       (set #msg_rename_help "...")
  123.  
  124.       (set #msg_copytools_prompt "Welche zusätzlichen Programme wollen Sie installieren?")
  125.       (set #msg_copytools_help (cat "CloseScreenPatch\nEin Patch, welcher verhindert, daß ein Screen geschlossen "
  126.                                     "wird, auf dem noch Fenster geöffnet sind und somit 'Speicherleichen' "
  127.                                     "vorbeugt. Einfach 'run <>nil: c:closescreenpatch' in 's:user-startup' einfügen"
  128.                                     "\n\nGetSum\n"
  129.                                     "Berechnet die Checksumme einer Datei, wie sie auch der Installer berechnet. "
  130.                                     "Nutzung: 'getsum <file>' in der Shell eingeben"
  131.                                )
  132.       )
  133.  
  134.       (set #msg_tooltypes_prompt "Welche Tooltypes möchten Sie voreinstellen? (siehe Hilfe)")
  135.       (set #msg_tooltypes_help "...")
  136.  
  137.       (set #msg_askchoice_prompt "Welche Oberfläche möchten Sie verwenden?")
  138.       (set #msg_askchoice_help "...")
  139.  
  140.       (set #message_letsgo "Installation vorbereitet. Soll nun weitergemacht werden?")
  141.  
  142.       (set #working_text "Beginne nun mit der Installation des InstallersNG von Jens Tröger")
  143.     )
  144. )
  145.  
  146. /*********************************************************************************************/
  147.  
  148. (user expert)
  149. (message #msg_welcome)
  150. (setmedia #yeah "play")
  151. (welcome)
  152.  
  153. ; -----------------------------------------------------------------------------
  154. ; the default settings
  155.  
  156. (set #default_installer "c:installer"
  157.      #default_catalog 0
  158.      #default_tools 0
  159.      #default_tooltypes 0
  160.      #default_gui 0
  161. )
  162.  
  163. ; -----------------------------------------------------------------------------
  164. ; first of all let the user make all the required settings
  165. ; for the installation
  166.  
  167. (swing
  168.  
  169.   (set @default-dest (pathonly (set #default_installer (askfile (prompt #msg_askfile_prompt)
  170.                                                                 (default #default_installer)
  171.                                                                 (help #msg_askfile_help)
  172.                                                        )
  173.                                )
  174.                      )
  175.   )
  176.  
  177.   (set #default_catalog (askoptions (prompt #msg_catalog_prompt)
  178.                                     (help #msg_catalog_help)
  179.                                     (default #default_catalog)
  180.                                     (choices (if (exists "catalogs/deutsch/installerng.catalog") "Deutsch" "")
  181.                                              (if (exists "catalogs/français/installerng.catalog") "Français" "")
  182.                                     )
  183.                         )
  184.   )
  185.  
  186.   (set #default_tools (askoptions (prompt #msg_copytools_prompt)
  187.                                   (help #msg_copytools_help)
  188.                                   (default #default_tools)
  189.                                   (choices "CloseScreenPatch" "GetSum")
  190.                       )
  191.   )
  192.  
  193.   (set #default_tooltypes (askoptions (prompt #msg_tooltypes_prompt)
  194.                                       (help #msg_tooltypes_help)
  195.                                       (default #default_tooltypes)
  196.                                       (choices "LAZYCOMPILE" "DEBUGMODE"
  197.                                                "CREATEUNSINSTALL" "COPYFILESCOMMENT"
  198.                                                "ALWAYSCONFIRM" "NOSYSDELETE"
  199.                                       )
  200.                           )
  201.   )
  202.  
  203.   (set #default_gui (askchoice (prompt #msg_askchoice_prompt)
  204.                                (help #msg_askchoice_help)
  205.                                (default #default_gui)
  206.                                (choices "BOOPSI by Savage (builtin)"
  207.                                         "MUI by Savage (BETA!)"
  208.                                )
  209.                     )
  210.   )
  211.  
  212.   (message #message_letsgo)
  213. )
  214.  
  215. ; -----------------------------------------------------------------------------
  216. ; now the installation process itself
  217.  
  218. (complete 0)
  219.  
  220. (set #installer_backup (cat #default_installer ".backup"))
  221.  
  222. (if (not (exists #installer_backup (noreq)))
  223.     (
  224.       (rename #default_installer #installer_backup (confirm average)
  225.                                                    (prompt #msg_rename_prompt)
  226.                                                    (help #msg_rename_help)
  227.       )
  228.     )
  229.  
  230. (complete 15)
  231.  
  232. (copylib (prompt (#msg_copylib_prompt #default_installer))
  233.          (help #msg_copylib_help)
  234.          (confirm average)
  235.          (source (if (database "cpu" "(68000|68010)")
  236.                      "c/installerng.000"
  237.                      "c/installerng.020"
  238.                  )
  239.          )
  240.          (dest (pathonly #default_installer))
  241.          (newname (fileonly #default_installer))
  242.          (infos)
  243. )
  244.  
  245. (complete 30)
  246.  
  247. (copyfiles (source "tools/")
  248.            (dest "C:")
  249.            (choices (if (bitand #default_tools 1) "CloseScreenPatch")
  250.                     (if (bitand #default_tools 2) "GetSum")
  251.            )
  252. )
  253.  
  254. (complete 45)
  255.  
  256. (if (exists (tackon #default_installer ".info"))
  257.  
  258.     (tooltype (dest #default_installer)
  259.               (setstack 50000)
  260.               (if (bitand #default_tooltypes  1) (settooltype "LAZYCOMPILE" "")
  261.                                                  (settooltype "(LAZYCOMPILE)" ""))
  262.               (if (bitand #default_tooltypes  2) (settooltype "DEBUGMODE" "")
  263.                                                  (settooltype "(DEBUGMODE)" ""))
  264.               (if (bitand #default_tooltypes  4) (settooltype "CREATEUNINSTALL" "")
  265.                                                  (settooltype "(CREATEUNINSTALL)" ""))
  266.               (if (bitand #default_tooltypes  8) (settooltype "COPYFILECOMMENT" "")
  267.                                                  (settooltype "(COPYFILECOMMENT)" ""))
  268.               (if (bitand #default_tooltypes 16) (settooltype "ALWAYSCONFIRM" "")
  269.                                                  (settooltype "(ALWAYSCONFIRM)" ""))
  270.               (if (bitand #default_tooltypes 32) (settooltype "NOSYSDELETE" "")
  271.                                                  (settooltype "(NOSYSDELETE)" ""))
  272.     )
  273.  
  274.     (nop)
  275. )
  276.  
  277. (complete 60)
  278.  
  279. (if (bitand #default_catalog 1)
  280.     (copylib (source "catalogs/deutsch/installerng.catalog")
  281.              (dest "locale:catalogs/deutsch")
  282.     )
  283. )
  284.  
  285. (if (bitand #default_catalog 2)
  286.     (copylib (source "catalogs/français/installerng.catalog")
  287.              (dest "locale:catalogs/français")
  288.     )
  289. )
  290.  
  291. (complete 75)
  292.  
  293. (select #default_gui
  294.  
  295.         (nop)
  296.  
  297.         (copylib (source "libs/mui/installergui.library")
  298.                  (dest "libs:")
  299.         )
  300. )
  301.  
  302. (complete 100)
  303.  
  304. (setmedia #yeah "play")
  305. (exit (#msg_done #installer_backup))
  306.  
  307.  
  308.  
  309.